博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EL表达式和JSTL标签
阅读量:4102 次
发布时间:2019-05-25

本文共 3582 字,大约阅读时间需要 11 分钟。

EL表达式和JSTL标签

1.EL表达式
1.1EL语法
EL的基本语法:${表达式expr}
其中,$为EL语法中的输出符合,expr为EL有效表达式,它包含在一对大括号内。EL有效表达式可以包含文字、操作符、变量(对象引用)和函数调用等。
例如:${23+15}
EL有效表达式基础操作符
EL表达式举例
<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%>    EL有效表达式              ${true}    
${23+15.28}
${12>10}
${(12>10)&&(a!=b)}
1.2EL内置对象

2.JSTL标签库

JSP标准标记库(JSP Standard Tag Library,JSTL):是一个实现Web应用程序中常用功能的定制标记库集,功能包括输出、程序流程控制、数据格式化、XML操作以及数据库访问等。

JSTL标记库:实现大量服务器端Java应用程序常用的基本功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供标准实现,JSTL使JSP作者可以专注与特定应用程序的开发需求,而不是为这些通过操作多次开发

JSTL的功能标记库分类

JSTL的使用步骤

在WEB应用中使用JSTL需要以下步骤:

将JSTL所需的jar添加到WEB工程的类路径---javaEE5之后jstl并入javaee库中

在JSP页面中使用taglib指令引入标记库

使用JSTL标记,完成特定功能。

JSTL举例--- 使用 c标签输出

<%@page contentType="text/html"%><%@page pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>             
Hello Word
JSTL测试

Core标记库
core标记库:用来实现WEB应用中最常用的功能,在JSTL的5个标记库中,core标记库是最基础的标记库,其他标记库都是在core标记库的协同下来实现自身功能。

Core标记库内容

通用标记<c:out>标记

<c:out>标记:负责把变量或表达式的计算结果输出,其功能与调用out.println()基本一致

通用标记<c:set>标记

<c:set>标记:用于在某个范围(page、request、session或application)里面设置特定的变量,或者设置某个已经存在的Javabean的属性,其功能类似于<%request.setAttribute("name",value)%>

当不包含标记体内容时,语法如下:

<c:set value="value" var="varName" [scope={

page|request|session|application}] />

其中:属性var为设置的变量的名称,value为变量的值,scope为可选属性,表示设置变量的范围,缺省为page.

当标记包含体内容时,<c:set>语法如下:<c:set var="varName" [scope={

page|request|session|application}]]>body content</c:set>

由于包含体内容时,将采用体内容作为变量的初始值,因此,此时标记不能带有属性value。

通用标记<c:remove>标记

<c:remove>:删除某个变量,类似于<%session.removeAttribute("name")%>

它的语法格式为:

<c:remove var="varName" [scope="{

page|request|session|application}"]/>

其中:属性var为要删除的变量的名称

例:

<%@page contentType=“text/html”%><%@page pageEncoding=“UTF-8”%><%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>             JSTL:使用c:set                
123456

通用标记<c:catch>标记

<c:catch>:捕捉嵌套在它内部的标记和脚本所抛出的异常。类似于<%try{}catch{}%>

它的语法格式为:

nested actions
其中可选属性var用来保存捕捉到的异常信息。

例:

<%@page contentType=“text/html”%><%@page pageEncoding=“UTF-8”%><%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>  JSTL:catch的使用
<% Integer.parseInt(“hello”); %>

异常:

异常 exception.getMessage=

Core条件标记

Core标记中提供了以下四个标记来帮助JSP开发人员实现分支处理,它们是:<c:if>、<c:choose>、<c:when>和<c:otherwise>

<c:if>标记

<c:if>标记:类似于编程语言中的if - else语句。

格式:

It is admin.
功能:若参数role的值为1,则显示It is admin,并将判断结果true保存在user中

choose、when、otherwise标记

<c:choose><c:when><c:otherwise>标记:用于实现复杂判断,类似于if-else-if语句

格式举例

not 2,it is 1
not 2
not 1,2

core迭代标记
Core标记中的迭代标记有两个:<c:forEach>、<c:forTokens>.

<c:forEach>标记:作用类似于for循环语句。

格式举例:

${i}

<c:forTokens>标记

<c:forTokens>:可以根据某个分隔符来分隔指定的字符串

格式举例

${aValue}

Core的URL操作标记

Core标记包含三个URL操作有关的标记,分别是:

<c:import>和<c:url>、<c:redirect>。

另外还有一个辅助标记<c:param>.

import标记
<c:import>:包含另一个jsp页面到本页面来。

格式举例:

url标记

<c:url>:用于得到一个URL地址

格式举例

链接

<c:redirect>标记

<c:redirect>:用于页面的重定向

格式举例:

param标记

<c:param>:用来为包含或重定向的页面传递参数,一般和<c:import>和<c:redirect>配合使用

格式举例

Fomat标记库

说明:Fomat标记库用于实现程序的国际化和本地化。

国际化:是指应用程序所具有的一种功能特性,具有国际化特性的应用程序能够支持不同的语言以及不同格式的日期、时间、货币等信息,而无需软件修改。

本地化:是针对某一本地特性,如语言、文化、习俗等特殊需求来设计和改造软件的过程、和特殊的市场需求制造或改造产品的过程,用户在使用得当地本地化的产品时,可以使用其自己的语言和文化习惯与产品互动。

国际化的应用程序不需要任何改动即可实现本地化支持。

你可能感兴趣的文章
php语法检查工具------http //www trisunsoft com/free-web-tools-onli
查看>>
用matlab实现一个简单的离群点挖掘 与时序无关
查看>>
运行程序出现Illegal instruction的定位和思考------又是printf string惹的火
查看>>
二进制全加器 只涉及一位加法 逻辑图和电路图
查看>>
tcpdump中的Flags S 和Flags 是什么意思 ------顺便看看三次握手包
查看>>
二进制全加器 只涉及一位加法 逻辑图和电路图
查看>>
公众号, 订阅号, 服务号, 企业号, 应用号(小程序)都是些什么玩意儿, 有什么关系和区别
查看>>
C 中的setter和getter
查看>>
聊聊map和vector的迭代器失效问题(某公司招聘笔试试题)
查看>>
大数据组件图谱---比较齐全
查看>>
不得不再聊linux中的strings命令
查看>>
再论无处不在的回调机制---注册与回调
查看>>
Windows上如何玩非阻塞的connect ---让程序员自定义connect函数的超时时间
查看>>
linux命令之间的分号, , ||
查看>>
在vi/vim中输入方向键却被被转化为A B C D 咋办
查看>>
如何在linux命令行 非脚本 中循环执行命令------相见恨晚的watch命令
查看>>
程序中如何打印日志 一
查看>>
拖库 洗库 撞库
查看>>
cp时请考虑软链接------肯定有人在这里踩坑
查看>>
如何判断两个矩形是否有重叠部分 (某公司校园招聘笔试试题)
查看>>